<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

/**
 * 门店收银台开关编码分组关系模型
 *
 * @property int $id 主键ID
 * @property int $store_id 门店ID
 * @property int $group_propertie_id 分组属性ID
 * @property int $state 状态
 */
class StoreCashierSwitchCodeGroupRelation extends Model
{
    protected $table = 'ims_yz_store_cashier_switch_code_group_relation';
    
    protected $fillable = [
        'uniacid',
        'group_id',
        'group_propertie_id',
        'settlement_num',
        'store_id',
        'state'
    ];

    protected $hidden = [];
    
    protected $casts = [
        'id' => 'integer',
        'store_id' => 'integer',
        'group_propertie_id' => 'integer',
        'settlement_num' => 'integer',
        'state' => 'integer',
        'created_at' => 'integer',
        'updated_at' => 'integer'
    ];

    /**
     * 使用 UNIX 时间戳格式存储时间字段
     */
    public function getDateFormat()
    {
        return 'U';
    }

    /**
     * 查询启用的关系
     */
    public function scopeEnabled($query)
    {
        return $query->where('state', 1);
    }

    /**
     * 关联门店
     */
    public function store()
    {
        return $this->belongsTo(Store::class, 'store_id', 'id');
    }

    /**
     * 关联分组
     */
    public function group()
    {
        return $this->belongsTo(StoreCashierSwitchCodeGroup::class, 'group_id');
    }
    
    /**
     * 关联分组属性
     */
    public function groupProperties()
    {
        return $this->belongsTo(StoreCashierSwitchCodeGroupProperties::class, 'group_propertie_id', 'id');
    }
}
